package cn.com.api.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import cn.com.api.entity.U_article;
import cn.com.api.entity.Ylj_Article_Obj;
import cn.com.api.entity.Ylj_Index_article_Obj;
import cn.com.api.mapper.base.U_articleMapperBase;
import cn.com.util.PageInfo;

public abstract interface U_articleMapper extends U_articleMapperBase {
	public List<Ylj_Index_article_Obj> findU_articlesListPage(@Param("exclideSize") int paramInt1,
			@Param("pageSize") int paramInt2);

	public List<Map<String, Object>> findLevel(@Param("rootCateID") int paramInt1,
			@Param("rootCateType") int paramInt2);

	public List<Map<String, Object>> findAllLevel(@Param("parent_id") int paramInt);

	public int queryArticleTotal(@Param("query") String paramString);

	public List<Ylj_Article_Obj> queryArticleListPage(@Param("rootCateType") String paramString1,
			@Param("query") String paramString2, @Param("exclideSize") int paramInt1, @Param("pageSize") int paramInt2);

	// 首页获取文章列表 前60条中随机获取pageSize条记录
	public List<Ylj_Article_Obj> queryIndexArticleListPage(@Param("rootCateType") String paramString1,
			@Param("pageSize") int paramInt2);

	// 文章分類名
	public List<Map<String, Object>> findCateNames(@Param("article_id") int article_id);

	public int insertU_articleReturnId(U_article article);

	public int U_articleInsertion(U_article article);

	public List<Map<String, Object>> findCateIds(@Param("article_id") int article_id);

	// 查询分类下的文章(含子类)
	public List<U_article> findU_articlesByCateId(@Param("cate_list") List<String> cate_list);

	// 查询文章(已排序)
	public List<U_article> findU_articlesOrderBy(@Param("parent_id") Integer parent_id,
			@Param(value = "title") String title);

	// 模糊查询文章
	public List<Map<String, Object>> findArticleLikeTitle(@Param("title") String title);

	public List<U_article> findU_articlesByCateid(@Param("cate_id") String cate_id);

	public List<U_article> findU_articlesByMapListPage(@Param("map") Map param, @Param("page") PageInfo pageInfo);

	// 查询帮助文档
	public List<U_article> findHelparticlesByMapListPage(@Param("map") Map param, @Param("page") PageInfo pageInfo);

	public List<U_article> findU_articlesByCityListPage(@Param("map") Map param, @Param("page") PageInfo pageInfo);

	public List<U_article> getFavoriteArticlesListPage(@Param("map") Map param, @Param("page") PageInfo pageInfo);

	// public List<U_article> getFollowArticlesListPage(@Param("map") Map param,
	// @Param("page") PageInfo pageInfo);

	public U_article findU_articleInfoByMap(@Param("map") Map param);

	// 根据条件获取文章
	public U_article getArticleInfo(@Param("map") Map param);

	// 按时间倒序
	public List<U_article> getRecommendArticlesByUserIdListPage(@Param("user_id") String user_id,
			@Param("page") PageInfo pageInfo);

	// 根据文章ID取文章，不包括content字段
	public U_article getArticleWithoutContentById(@Param("id") Integer id);

	// 查询文章
	public List<U_article> getArticleByWordsListPage(@Param("keyword") String user_id, @Param("page") PageInfo page);

	// 查询用户发的文章(头条)
	public List<U_article> findWeMediaU_articlesByMapListPage(@Param("map") Map map, @Param("page") PageInfo pageInfo);

	public List<U_article> findNewArticleList();

	public List<U_article> findArticlesByMap(@Param("map") Map param);
}
